package com.wanmait.wanmarecruit.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Set;

import java.util.Set;

import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
* Created by Mybatis Generator 2022/09/19
*/
@Data
@Accessors(chain = true)
@TableName(value = "user")
public class User implements Serializable {
    /**
     * 求职者id
     */
     @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 求职者密码
     */
    @TableField(value = "pass")
    private String pass;

    /**
     * 求职者姓名
     */
    @TableField(value = "name")
    private String name;

    /**
     * 求职者性别
     */
    @TableField(value = "sex")
    private String sex;

    /**
     * 求职者出生日期
     */
    @TableField(value = "birthday")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

    /**
     * 求职者邮箱
     */
    @TableField(value = "email")
    private String email;

    /**
     * 求职者电话
     */
    @TableField(value = "phone")
    private String phone;

    /**
     * 求职者qq
     */
    @TableField(value = "qq")
    private String qq;

    /**
     * 求职者毕业院校
     */
    @TableField(value = "school")
    private String school;

    /**
     * 求职者专业
     */
    @TableField(value = "major")
    private String major;

    /**
     * 注册时间
     */
    @TableField(value = "enroll_time")
    private Date enrollTime;

    /**
     * 用户头像
     */
    @TableField(value = "face")
    private String face;

    /**
     * 用户状态
     */
    @TableField(value = "enable")
    private Boolean enable;

    /**
     * 是否上传简历
     */
    @TableField(value = "resume")
    private Boolean resume;


    /**
     * 民族
     */
    @TableField(value = "national")
    private String national;

    /**
     * 婚姻情况
     */
    @TableField(value = "marriage")
    private String marriage;

    /**
     * 政治面貌
     */
    @TableField(value = "political_landscape")
    private String politicalLandscape;

    /**
     * 最高学历
     */
    @TableField(value = "highest_education_id")
    private Integer highestEducationId;
    @TableField(exist = false)
    private Education education;


    /**
     * 籍贯
     */
    @TableField(value = "native_place")
    private String nativePlace;

    /**
     * 求职状态
     */
    @TableField(value = "job_status_id")
    private Integer jobStatusId;
    @TableField(exist = false)
    private JobStatus jobStatus;

    /**
     * 现居地
     */
    @TableField(value = "now_in")
    private String nowIn;


    /**
     * 个人简介
     */
    @TableField(value = "introduction")
    private String introduction;

    @TableField(value = "salt")
    private String salt;


    @TableField(exist = false)
    Set<Technology> technologies;

    @TableField(exist = false)
    Set<JobOrientation> jobOrientations;

    @TableField(exist = false)
    Set<WorkExperience> workExperiences;

    @TableField(exist = false)
    Set<EducationalExperience> educationalExperiences;

    @TableField(exist = false)
    Set<StudentCadreExperience> studentCadreExperiences;

    @TableField(exist = false)
    Set<HonorsWon> honorsWons;


    private static final long serialVersionUID = 1L;

    public static final String COL_PASS = "pass";

    public static final String COL_NAME = "name";

    public static final String COL_SEX = "sex";

    public static final String COL_BIRTHDAY = "birthday";

    public static final String COL_EMAIL = "email";

    public static final String COL_PHONE = "phone";

    public static final String COL_QQ = "qq";

    public static final String COL_SCHOOL = "school";

    public static final String COL_MAJOR = "major";

    public static final String COL_ENROLL_TIME = "enroll_time";

    public static final String COL_FACE = "face";

    public static final String COL_ENABLE = "enable";

    public static final String COL_RESUME = "resume";

    public static final String COL_EXCEPTED_CITY_ID = "excepted_city_id";

    public static final String COL_EXCEPTED_SALARY_ID = "excepted_salary_id";

    public static final String COL_NATIONAL = "national";

    public static final String COL_MARRIAGE = "marriage";

    public static final String COL_POLITICAL_LANDSCAPE = "political_landscape";

    public static final String COL_HIGHEST_EDUCATION = "highest_education";

    public static final String COL_EDUCATION_NO = "education_no";

    public static final String COL_NATIVE_PLACE = "native_place";

    public static final String COL_STATUS = "status";

    public static final String COL_NOW_IN = "now_in";

    public static final String COL_POSITION_DIRECTION = "position_direction";

    public static final String COL_FULL_TIME_ON = "full_time_on";

    public static final String COL_POSITION_TYPE_SECOND_ID = "position_type_second_id";

    public static final String COL_INTRODUCTION = "introduction";

    public static final String COL_TECHNOLOGY = "technology";
}